package beans;

import control.ManagementController;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import model.Esquema;

/**
 * Classe controladora para o módulo relacionado ao dicionário e elementos do MER
 * @author Eduardo, Maylon e Kamilla
 */
@ManagedBean
@ViewScoped
public class EsquemaBean implements Serializable{
     private List<Esquema> esquemas;
     private Esquema esquema;
     private ManagementController control;
     
  
    public EsquemaBean() {
        control = new ManagementController();
        this.atualizarEsquemas();
        this.criar();
    }

    public Esquema getEsquema() {
        return esquema;
    }

    public void setEsquema(Esquema esquema) {
        this.esquema = esquema;
    }

    public List<Esquema> getEsquemas() {
        return esquemas;
    }

    public void setEsquemas(List<Esquema> esquemas) {
        this.esquemas = esquemas;
    }

    public final void criar()  {
        setEsquema(new Esquema());
    }
    
    public void salvar() {
        
        control.salvarNovoEsquema(esquema);
        atualizarEsquemas();
        this.criar();
    }

    
    public void excluir(){
        control.excluirEsquema(esquema);
        atualizarEsquemas();
    }

    /**
     * Atualiza a lista de tipos de admissão.
     */
    private void atualizarEsquemas() {
        esquemas = control.recarregarEsquema();
        if(esquemas!=null && !esquemas.isEmpty()){
            esquema = esquemas.get(0);
        }
    }
   
}
